Skip to main content
Version: 2.x

Class CustomEffect<T>

Custom effect for OdinNative.Wrapper.MediaPipeline callbacks

Declaration
public class CustomEffect<T> : PipelineEffect, IPipelineEffect where T : unmanaged

Inheritance: System.Object -> OdinNative.Wrapper.Media.PipelineEffect

Implements:
OdinNative.Wrapper.Media.IPipelineEffect

Methods

~CustomEffect()

Declaration
protected ~CustomEffect()

Insert(uint, PipelineCallback<T>, T)

Add a OdinNative.Wrapper.Media.CustomEffect to OdinNative.Wrapper.Media.PipelineEffect.Parent pipeline.

Declaration
public virtual uint Insert(uint index, NativeBindings.PipelineCallback<T> callback, T userData)
Returns

System.UInt32: effect id

Parameters
TypeNameDescription
System.UInt32indexeffect index in pipeline
OdinNative.Core.Imports.NativeBindings.PipelineCallback<T>callbackeffect event
<T>userDataWill be passed to callback on each invocation

SerializeUserdata(T)

Serialize arbitrary userdata

Declaration
public virtual byte[] SerializeUserdata(T value)
Returns

System.Byte[]: byte array representation of userdata value

Parameters
TypeNameDescription
<T>valuebyte array data of value T

SerializeUserdata(T, bool)

Serialize arbitrary userdata

Declaration
public virtual nint SerializeUserdata(T value, bool destroy = true)
Returns

System.IntPtr

Parameters
TypeNameDescription
<T>valueobject data of value T
System.Booleandestroytrue to call the DestroyStructure(IntPtr, Type) method.

DeserializeUserdata(byte[])

Deserializes userdata from a byte array

Declaration
public virtual T DeserializeUserdata(byte[] data)
Returns

<T>: deserialized userdata value of type T

Parameters
TypeNameDescription
System.Byte[]datacustom userdata

DeserializeUserdata(nint)

Deserializes userdata from a pointer

Declaration
public virtual T DeserializeUserdata(nint ptr)
Returns

<T>: deserialized userdata value of type T

Parameters
TypeNameDescription
System.IntPtrptrpointer

Create(MediaPipeline, PipelineCallback<T>, T)

Insert a custom effect in the specified pipeline

Declaration
public static CustomEffect<T> Create(MediaPipeline pipeline, NativeBindings.PipelineCallback<T> callback, T userData)
Returns

OdinNative.Wrapper.Media.CustomEffect<T>: Instance of OdinNative.Wrapper.Media.CustomEffect

Parameters
TypeNameDescription
OdinNative.Wrapper.MediaPipelinepipelinewhere to create a custom effect
OdinNative.Core.Imports.NativeBindings.PipelineCallback<T>callbackdelegate reference for effect event
<T>userDatacustom userdata passed to callback on each invocation

Serialize(T)

Serialize structure to pointer for arbitrary data T

Declaration
public static byte[] Serialize(T value)
Returns

System.Byte[]: byte array representation of data structure

Parameters
TypeNameDescription
<T>valuedata T structure

Serialize(T, bool)

Serialize structure to pointer for arbitrary data T

Declaration
public static nint Serialize(T value, bool destroy = true)
Returns

System.IntPtr: pointer of data structure

Parameters
TypeNameDescription
<T>valuedata T structure
System.Booleandestroyfree value

Deserialize(byte[])

Deserializes a structure from a byte array

Declaration
public static T Deserialize(byte[] data)
Returns

<T>: structure T

Parameters
TypeNameDescription
System.Byte[]databinary data to deserialize

Deserialize(nint)

Deserializes a structure from a pointer

Declaration
public static T Deserialize(nint ptr)
Returns

<T>: structure T

Parameters
TypeNameDescription
System.IntPtrptrpointer to deserialize as structure

Implements